package cn.zhuo.knowledge.util.lombok.model;

import lombok.Data;

/**
 * <p>
 *
 * @author z2huo
 */
@Data
class UserByData {

    private Long id;

    private String name;

    private int age;

    private final String code = "";
}

/*
如果被 @Data 注解的类中没有 final 属性，则只会生成一个默认构造方法：

public UserByData() {
}

如果被 @Data 注解的类中有 final 属性，但是声明时没有初始化，如下：
private final String code;
则只会生成一个包含 final 属性的构造方法，不会生成方法体为空的无参构造方法，因为该 final 属性没有被初始化，需要在构造器中初始化，如下：
public UserByData(String code) {
    this.code = code;
}

如果 final 属性在声明时初始化，因为 final 初始化后就不能再改变，所以只会生成一个无参构造方法
private final String code = "";

public UserByData() {
}

以上 @Data 特性，是 @Data 中与 @RequiredArgsConstructor 注解相同的功能

 */
